package Offer;

import sun.reflect.generics.tree.Tree;

/*
    题目:
        请完成一个函数，输入一个二叉树，该函数输出它的镜像。

    思路:
        递归交换左右子树，直到到达叶子结点
* */
public class T27_mirrorTree {
    public TreeNode mirrorTree(TreeNode root) {
        mirror(root);
        return root;
    }

    void mirror(TreeNode root) {
        if (root == null) {
            return;
        }

        TreeNode tmp=null;
        tmp = root.left;        //将左子树保存起来
        root.left = root.right; //将右子树交换到左子树上
        root.right = tmp;       //将左子树的值赋值给右子树

        //递归左右子树
        mirror(root.left);
        mirror(root.right);
    }
}